﻿self.addEventListener('install', async event => {
	console.log('Installing service worker...');
	self.skipWaiting();
});

self.addEventListener('fetch', event => {
	// You can add custom logic here for controlling whether to use cached data if offline, etc.
	// The following line opts out, so requests go directly to the network as usual.
	return null;
});

self.addEventListener('push', event => {
	const payload = event.data.json();
	event.waitUntil(
		self.registration.showNotification('Blazing Pizza', {
			body: payload.message,
			icon: 'img/icon-512.png',
			vibrate: [100, 50, 100],
			data: { url: payload.url }
		})
	);
});

self.addEventListener('notificationclick', event => {
	alert(event.notification.data.url);
	event.notification.close();
	event.waitUntil(clients.openWindow(event.notification.data.url));
});